{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Python数据分析之展示-1"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.Matplotlib基础 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**matplotlib**是一个**Python**的 2D 图形包。pyplot封装了很多画图的函数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "导入相关的包："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "``matplotlib.pyplot``包含一系列类似**MATLAB**中绘图函数的相关函数。每个``matplotlib.pyplot``中的函数对当前的图像进行一些修改，例如：产生新的图像，在图像中产生新的绘图区域，在绘图区域中画线，给绘图加上标记，等等......``matplotlib.pyplot``会自动记住当前的图像和绘图区域，因此这些函数会直接作用在当前的图像上。\n",
    "\n",
    "在实际的使用过程中，常常以``plt``作为``matplotlib.pyplot``的省略。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### plt.show()函数 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "默认情况下，``matplotlib.pyplot``不会直接显示图像，只有调用``plt.show()``函数时，图像才会显示出来。\n",
    "\n",
    "``plt.show()``默认是在新窗口打开一幅图像，并且提供了对图像进行操作的按钮。\n",
    "\n",
    "不过在``ipython``命令中，我们可以将它插入``notebook``中，并且不需要调用``plt.show()``也可以显示：\n",
    "\n",
    "* ``%matplotlib notebook``\n",
    "* ``%matplotlib inline``\n",
    "\n",
    "不过在实际写程序中，我们还是习惯调用``plt.show()``函数将图像显示出来。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "UsageError: unrecognized arguments: #魔术命令\n"
     ]
    }
   ],
   "source": [
    "%matplotlib inline #魔术命令"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### plt.plot()函数 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 例子"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "``plt.plot()``函数可以用来绘线型图："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 0, 'x轴')"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/feiyi-lgh/opt/anaconda3/envs/py37-aiops/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:240: RuntimeWarning: Glyph 36724 missing from current font.\n",
      "  font.set_text(s, 0.0, flags=flags)\n",
      "/Users/feiyi-lgh/opt/anaconda3/envs/py37-aiops/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:203: RuntimeWarning: Glyph 36724 missing from current font.\n",
      "  font.set_text(s, 0, flags=flags)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([1,2,3,4]) #默认以列表的索引作为x，输入的是y\n",
    "plt.ylabel('y')\n",
    "plt.xlabel(\"x轴\") #设定标签，使用中文的话后面需要再设定"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 基本用法"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "``plot``函数基本的用法：\n",
    "\n",
    "指定x和y\n",
    "\n",
    "* ``plt.plot(x,y)``\n",
    "\n",
    "默认参数，x为0~N-1\n",
    "\n",
    "* ``plt.plot(y)``\n",
    "\n",
    "因此，在上面的例子中，我们没有给定``x``的值，所以其默认值为``[0,1,2,3]``\n",
    "\n",
    "传入``x``和``y``："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([1,2,3,4],[1,4,9,16])\n",
    "plt.show() #相当于打印的功能，下面不会再出现内存地址"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 字符参数"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "和**MATLAB**中类似，我们还可以用字符来指定绘图的格式：\n",
    "\n",
    "表示颜色的字符参数有：\n",
    "\n",
    "|字符|颜色|\n",
    "|-:|-:|\n",
    "|``'b'``|蓝色，blue|\n",
    "|``'g'``|绿色，green|\n",
    "|``'r'``|红色，red|\n",
    "|``'c'``|青色，cyan|\n",
    "|``'m'``|品红，magenta|\n",
    "|``'y'``|黄色，yellow|\n",
    "|``'k'``|黑色，black|\n",
    "|``'w'``|白色，white|\n",
    "\n",
    "表示类型的字符参数有：\n",
    "\n",
    "|字符|类型|字符|类型|\n",
    "|-:|-:|-:|-:|\n",
    "|``'-'``|实线|``'--'``|虚线|\n",
    "|``'-'.``|虚点线|``':'``|点线|\n",
    "|``'.'``|点|``','``|像素点|\n",
    "|``'o'``|圆点|``'v'``|下三角点|\n",
    "|``'^'``|上三角点|``'<'``|左三角点|\n",
    "|``'>'``|右三角点|``'1'``|下三叉点|\n",
    "|``'2'``|上三叉点|``'3'``|左三叉点|\n",
    "|``'4'``|右三叉点|``'s'``|正方点|\n",
    "|``'p'``|五角点|``'*'``|星形点|\n",
    "|``'h'``|六边形点1|``'H'``|六边形点2|\n",
    "|``'+'``|加号点|``'x'``|乘号点|\n",
    "|``'D'``|实心菱形点|``'d'``|瘦菱形点|\n",
    "|``'_'``|横线点|||\n",
    "\n",
    "例如我们要画出红色圆点："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "x and y must have same first dimension, but have shapes (3,) and (4,)",
     "output_type": "error",
     "traceback": [
      "\u001B[0;31m---------------------------------------------------------------------------\u001B[0m",
      "\u001B[0;31mValueError\u001B[0m                                Traceback (most recent call last)",
      "\u001B[0;32m/var/folders/fj/074djdr13178c4hpdlwt37r00000gp/T/ipykernel_27045/4003673259.py\u001B[0m in \u001B[0;36m<module>\u001B[0;34m\u001B[0m\n\u001B[0;32m----> 1\u001B[0;31m \u001B[0mplt\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mplot\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m1\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m23\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m4\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m1\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m4\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m9\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m16\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\"ro\"\u001B[0m\u001B[0;34m)\u001B[0m \u001B[0;31m#也可以是or，没顺序要求\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m      2\u001B[0m \u001B[0mplt\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mplot\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m1\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m2\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m3\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m4\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m1\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m4\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m9\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;36m16\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m)\u001B[0m \u001B[0;31m#也可以是or，没顺序要求\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m      3\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m      4\u001B[0m \u001B[0mplt\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mshow\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/opt/anaconda3/envs/py37-aiops/lib/python3.7/site-packages/matplotlib/pyplot.py\u001B[0m in \u001B[0;36mplot\u001B[0;34m(scalex, scaley, data, *args, **kwargs)\u001B[0m\n\u001B[1;32m   3019\u001B[0m     return gca().plot(\n\u001B[1;32m   3020\u001B[0m         \u001B[0;34m*\u001B[0m\u001B[0margs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mscalex\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0mscalex\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mscaley\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0mscaley\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m-> 3021\u001B[0;31m         **({\"data\": data} if data is not None else {}), **kwargs)\n\u001B[0m\u001B[1;32m   3022\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m   3023\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/opt/anaconda3/envs/py37-aiops/lib/python3.7/site-packages/matplotlib/axes/_axes.py\u001B[0m in \u001B[0;36mplot\u001B[0;34m(self, scalex, scaley, data, *args, **kwargs)\u001B[0m\n\u001B[1;32m   1603\u001B[0m         \"\"\"\n\u001B[1;32m   1604\u001B[0m         \u001B[0mkwargs\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0mcbook\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mnormalize_kwargs\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mmlines\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mLine2D\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m-> 1605\u001B[0;31m         \u001B[0mlines\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0;34m[\u001B[0m\u001B[0;34m*\u001B[0m\u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0m_get_lines\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0;34m*\u001B[0m\u001B[0margs\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mdata\u001B[0m\u001B[0;34m=\u001B[0m\u001B[0mdata\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0;34m**\u001B[0m\u001B[0mkwargs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m   1606\u001B[0m         \u001B[0;32mfor\u001B[0m \u001B[0mline\u001B[0m \u001B[0;32min\u001B[0m \u001B[0mlines\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m   1607\u001B[0m             \u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0madd_line\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mline\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/opt/anaconda3/envs/py37-aiops/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001B[0m in \u001B[0;36m__call__\u001B[0;34m(self, data, *args, **kwargs)\u001B[0m\n\u001B[1;32m    313\u001B[0m                 \u001B[0mthis\u001B[0m \u001B[0;34m+=\u001B[0m \u001B[0margs\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m0\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m,\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    314\u001B[0m                 \u001B[0margs\u001B[0m \u001B[0;34m=\u001B[0m \u001B[0margs\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m1\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m--> 315\u001B[0;31m             \u001B[0;32myield\u001B[0m \u001B[0;32mfrom\u001B[0m \u001B[0mself\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0m_plot_args\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mthis\u001B[0m\u001B[0;34m,\u001B[0m \u001B[0mkwargs\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0m\u001B[1;32m    316\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    317\u001B[0m     \u001B[0;32mdef\u001B[0m \u001B[0mget_next_color\u001B[0m\u001B[0;34m(\u001B[0m\u001B[0mself\u001B[0m\u001B[0;34m)\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;32m~/opt/anaconda3/envs/py37-aiops/lib/python3.7/site-packages/matplotlib/axes/_base.py\u001B[0m in \u001B[0;36m_plot_args\u001B[0;34m(self, tup, kwargs, return_kwargs)\u001B[0m\n\u001B[1;32m    499\u001B[0m \u001B[0;34m\u001B[0m\u001B[0m\n\u001B[1;32m    500\u001B[0m         \u001B[0;32mif\u001B[0m \u001B[0mx\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mshape\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m0\u001B[0m\u001B[0;34m]\u001B[0m \u001B[0;34m!=\u001B[0m \u001B[0my\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mshape\u001B[0m\u001B[0;34m[\u001B[0m\u001B[0;36m0\u001B[0m\u001B[0;34m]\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n\u001B[0;32m--> 501\u001B[0;31m             raise ValueError(f\"x and y must have same first dimension, but \"\n\u001B[0m\u001B[1;32m    502\u001B[0m                              f\"have shapes {x.shape} and {y.shape}\")\n\u001B[1;32m    503\u001B[0m         \u001B[0;32mif\u001B[0m \u001B[0mx\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mndim\u001B[0m \u001B[0;34m>\u001B[0m \u001B[0;36m2\u001B[0m \u001B[0;32mor\u001B[0m \u001B[0my\u001B[0m\u001B[0;34m.\u001B[0m\u001B[0mndim\u001B[0m \u001B[0;34m>\u001B[0m \u001B[0;36m2\u001B[0m\u001B[0;34m:\u001B[0m\u001B[0;34m\u001B[0m\u001B[0;34m\u001B[0m\u001B[0m\n",
      "\u001B[0;31mValueError\u001B[0m: x and y must have same first dimension, but have shapes (3,) and (4,)"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([1,23,4],[1,4,9,16],\"ro\") #也可以是or，没顺序要求\n",
    "plt.plot([1,2,3,4],[1,4,9,16]) #也可以是or，没顺序要求\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看出，有两个点在图像的边缘，因此，我们需要改变轴的显示范围。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 显示范围"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "与**MATLAB**类似，这里可以使用``axis``函数指定坐标轴显示的范围：\n",
    "```python\n",
    "plt.axis([xmin, xmax, ymin, ymax])\n",
    "```"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAD8CAYAAACb4nSYAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAATQ0lEQVR4nO3df6xf9X3f8eerXMAYbJGOG2x+lWxCRJQsBK6cRmiBJCUyHgrZVLUYmtIOyb1VWIg2aaVFajdQpEhTs6kjCvICg2gUmjWhRauTgLo0jqU44ZpBgBiCZ2i4tbGdogImvkN23/vjHqS76+/X98v3+718r+95PqSvvud8zuec8z5CvO7x53t+pKqQJLXDz426AEnSO8fQl6QWMfQlqUUMfUlqEUNfklrE0JekFlkw9JOcm+TbSXYmeSbJLU37zyd5NMnzzfe7uqy/PslzSXYluXXYByBJ6l0Wuk4/yVpgbVU9nmQVsAP4JPCbwCtV9fkmzN9VVb87b90TgB8DVwHTwGPAxqr60bAPRJK0sAXP9Ktqb1U93ky/DuwEzgauBe5rut3H7B+C+dYBu6pqd1W9CTzYrCdJGoGxt9M5yfnAB4DvA2dW1V6Y/cOQ5N0dVjkbeGnO/DTwwS7b3gRsAjj11FMve+973/t2SpOkVtuxY8dPq2p8oX49h36S04CvAZ+tqteS9LRah7aO40lVtRnYDDAxMVFTU1O9liZJrZfkb3rp19PVO0lOZDbw76+qrzfN+5rx/rfG/fd3WHUaOHfO/DnAnl72KUkavl6u3glwN7Czqr4wZ9HDwI3N9I3AX3RY/THggiTvSXIScF2zniRpBHo5078c+BTw0SRPNJ8NwOeBq5I8z+zVOZ8HSHJWki0AVXUYuBn4FrM/AH+1qp5ZhOOQJPVgwTH9qtpG57F5gI916L8H2DBnfguwpd8CJUnD4x25ktQihr4ktYihL0ktYuhLUosY+pLUIoa+JLWIoS9JLWLoS1KLGPqS1CKGviS1iKEvSS1i6EtSixj6ktQihr4ktYihL0ktYuhLUosY+pLUIoa+JLXIgq9LTHIPcA2wv6oubtr+FLiw6XI68PdVdUmHdV8EXgeOAIeramIoVUuS+rJg6AP3AncCX3mroap+7a3pJH8EvHqM9T9SVT/tt0BJ0vD08mL0rUnO77QsSYBfBT465LokSYtg0DH9fwbsq6rnuywv4JEkO5JsGnBfkqQB9TK8cywbgQeOsfzyqtqT5N3Ao0meraqtnTo2fxQ2AZx33nkDliVJ6qTvM/0kY8C/BP60W5+q2tN87wceAtYdo+/mqpqoqonx8fF+y5IkHcMgwzu/DDxbVdOdFiY5Ncmqt6aBjwNPD7A/SdKAFgz9JA8A3wMuTDKd5KZm0XXMG9pJclaSLc3smcC2JE8CPwD+sqq+ObzSJUlvVy9X72zs0v6bHdr2ABua6d3A+wesT5I0RN6RK0ktYuhLUosY+pLUIoa+JLWIoS9JLWLoS1KLGPqS1CKGviS1iKEvCYC9r+/linuv4OWDL4+6FC0iQ18SAHdsvYNtP9nG7d+5fdSlaBGlqkZdw1EmJiZqampq1GVIrXDK505h5vDMUe0rxlZw6LZDI6hI/Uiyo5dX0nqmL7Xc7s/s5vqLr2fl2EoAVo6t5Ib33cALt7ww4sq0GAx9qeXWrlrL6pNXM3NkhhVjK5g5MsPqk1ez5rQ1oy5Ni8DQl8S+N/Yxedkk22/azuRlk/6Yu4w5pi9Jy4Bj+pKkoxj6ktQihr4ktYihL0kt0suL0e9Jsj/J03Pa/n2Sv03yRPPZ0GXd9UmeS7Irya3DLFyS9Pb1cqZ/L7C+Q/t/qqpLms+W+QuTnAB8EbgauAjYmOSiQYqVJA1mwdCvqq3AK31sex2wq6p2V9WbwIPAtX1sR5I0JIOM6d+c5IfN8M+7Oiw/G3hpzvx009ZRkk1JppJMHThwYICyJEnd9Bv6XwL+CXAJsBf4ow590qGt651gVbW5qiaqamJ8fLzPsiRJx9JX6FfVvqo6UlX/APxXZody5psGzp0zfw6wp5/9SZKGo6/QT7J2zuy/AJ7u0O0x4IIk70lyEnAd8HA/+5MkDcfYQh2SPABcCZyRZBr4Q+DKJJcwO1zzIvDbTd+zgC9X1YaqOpzkZuBbwAnAPVX1zGIchCSpNz5wTZKWAR+4Jkk6iqEvSS1i6EtSixj6ktQihr4ktYihL0ktYuhLUosY+pLUIoa+JLWIoS9JLWLoS1KLGPqS1CKGviS1iKEvSS1i6EtSixj6ktQihr4ktYihL0ktsmDoJ7knyf4kT89p+49Jnk3ywyQPJTm9y7ovJnkqyRNJfP+hJI1YL2f69wLr57U9ClxcVf8U+DHwe8dY/yNVdUkv726UJC2uBUO/qrYCr8xre6SqDjez24FzFqE2SdKQDWNM/18B3+iyrIBHkuxIsulYG0myKclUkqkDBw4MoSxJ0nwDhX6S24DDwP1dulxeVZcCVwOfTvLhbtuqqs1VNVFVE+Pj44OUJUnqou/QT3IjcA1wQ1VVpz5Vtaf53g88BKzrd3+SpMH1FfpJ1gO/C3yiqn7Wpc+pSVa9NQ18HHi6U19J0jujl0s2HwC+B1yYZDrJTcCdwCrg0eZyzLuavmcl2dKseiawLcmTwA+Av6yqby7KUUiSejK2UIeq2tih+e4uffcAG5rp3cD7B6pOkjRU3pErSS1i6EtSixj6ktQihr4ktYihL0ktYuhLUosY+pLUIoa+JLWIoS9JLWLoS1KLGPqS1CKGviS1iKEvSS1i6EtSixj6ktQihr4ktYihL0ktYuhLUov08o7ce5LsT/L0nLafT/Jokueb73d1WXd9kueS7Epy6zALlyS9fb2c6d8LrJ/XdivwV1V1AfBXzfz/J8kJwBeBq4GLgI1JLhqoWknSQBYM/araCrwyr/la4L5m+j7gkx1WXQfsqqrdVfUm8GCzniRpRPod0z+zqvYCNN/v7tDnbOClOfPTTVtHSTYlmUoydeDAgT7LkiQdy2L+kJsObdWtc1VtrqqJqpoYHx9fxLIkqb36Df19SdYCNN/7O/SZBs6dM38OsKfP/UmShqDf0H8YuLGZvhH4iw59HgMuSPKeJCcB1zXrSZJGpJdLNh8AvgdcmGQ6yU3A54GrkjwPXNXMk+SsJFsAquowcDPwLWAn8NWqemZxDkOS1IuxhTpU1cYuiz7Woe8eYMOc+S3Alr6rkyQNlXfkSlKLGPqS1CKGvtSjva/v5Yp7r+Dlgy+PuhSpb4a+1KM7tt7Btp9s4/bv3D7qUqS+parr/VIjMzExUVNTU6MuQwLglM+dwszhmaPaV4yt4NBth0ZQkXS0JDuqamKhfp7pSwvY/ZndXH/x9awcWwnAyrGV3PC+G3jhlhdGXJn09hn60gLWrlrL6pNXM3NkhhVjK5g5MsPqk1ez5rQ1oy5NetsMfakH+97Yx+Rlk2y/aTuTl036Y66OW47pS9Iy4Ji+JOkohr4ktYihL0ktYuhLUosY+pLUIoa+JLWIoS9JLWLoS1KLGPqS1CJ9h36SC5M8MefzWpLPzutzZZJX5/T5g4ErliT1bcF35HZTVc8BlwAkOQH4W+ChDl2/W1XX9LsfSdLwDGt452PA/6mqvxnS9iRJi2BYoX8d8ECXZR9K8mSSbyT5xW4bSLIpyVSSqQMHDgypLEnSXAOHfpKTgE8A/6PD4seBX6iq9wP/Bfjzbtupqs1VNVFVE+Pj44OWJUnqYBhn+lcDj1fVvvkLquq1qjrYTG8BTkxyxhD2KUnqwzBCfyNdhnaSrEmSZnpds7+/G8I+JUl96PvqHYAkK4GrgN+e0zYJUFV3Ab8C/E6Sw8Ah4Lpaim9tkaSWGCj0q+pnwD+a13bXnOk7gTsH2YckaXi8I1eSWsTQl6QWMfQlqUUMfUlqEUNfklrE0JekFjH0JalFDH1JahFDX5JaxNCXpBYx9CWpRQx9SWoRQ1+SWsTQl6QWMfQlqUUMfUlqEUNfklrE0JekFhko9JO8mOSpJE8kmeqwPEn+OMmuJD9Mcukg+5MkDWagd+Q2PlJVP+2y7GrggubzQeBLzbckaQQWe3jnWuArNWs7cHqStYu8T0lSF4OGfgGPJNmRZFOH5WcDL82Zn27ajpJkU5KpJFMHDhwYsCxJUieDhv7lVXUps8M4n07y4XnL02Gd6rShqtpcVRNVNTE+Pj5gWZKkTgYK/ara03zvBx4C1s3rMg2cO2f+HGDPIPuUJPWv79BPcmqSVW9NAx8Hnp7X7WHgN5qreH4JeLWq9vZdrSRpIINcvXMm8FCSt7bzJ1X1zSSTAFV1F7AF2ADsAn4G/NZg5UqSBtF36FfVbuD9HdrvmjNdwKf73Yckabi8I1eSWsTQl6QWMfQ1NHtf38sV917BywdfHnUpkrow9DU0d2y9g20/2cbt37l91KVI6iKzv7UuLRMTEzU1ddTz27REnfK5U5g5PHNU+4qxFRy67dAIKpLaJ8mOqppYqJ9n+hrY7s/s5vqLr2fl2EoAVo6t5Ib33cALt7ww4sokzWfoa2BrV61l9cmrmTkyw4qxFcwcmWH1yatZc9qaUZcmaR5DX0Ox7419TF42yfabtjN52aQ/5kpLlGP6krQMOKYvSTqKoS9JLWLoS1KLGPqS1CKGviS1iKEvSS1i6EtSixj6ktQihr4ktcggL0Y/N8m3k+xM8kySWzr0uTLJq0meaD5/MFi5kqRBDPJi9MPAv62qx5OsAnYkebSqfjSv33er6poB9iNJGpK+z/Sram9VPd5Mvw7sBM4eVmGSpOEbyph+kvOBDwDf77D4Q0meTPKNJL84jP1JkvozyPAOAElOA74GfLaqXpu3+HHgF6rqYJINwJ8DF3TZziZgE8B55503aFmSpA4GOtNPciKzgX9/VX19/vKqeq2qDjbTW4ATk5zRaVtVtbmqJqpqYnx8fJCyJEldDHL1ToC7gZ1V9YUufdY0/Uiyrtnf3/W7T0nSYAYZ3rkc+BTwVJInmrbfB84DqKq7gF8BfifJYeAQcF0txbe2SFJL9B36VbUNyAJ97gTu7HcfkqTh8o5cSWoRQ1+SWsTQl6QWMfQlqUUMfUlqEUNfklrE0JekFjH0JalFDP130N7X93LFvVfw8sGXR12KpJYy9N9Bd2y9g20/2cbt37l91KVIaqksxUfhTExM1NTU1KjLGJpTPncKM4dnjmpfMbaCQ7cdGkFFkpabJDuqamKhfp7pvwN2f2Y31198PSvHVgKwcmwlN7zvBl645YURVyapbQz9d8DaVWtZffJqZo7MsGJsBTNHZlh98mrWnLZm1KVJahlD/x2y7419TF42yfabtjN52aQ/5koaCcf0JWkZcExfknQUQ1+SWsTQl6QWMfQlqUUGCv0k65M8l2RXkls7LE+SP26W/zDJpYPsT5I0mL5DP8kJwBeBq4GLgI1JLprX7WrgguazCfhSv/uTJA1ukDP9dcCuqtpdVW8CDwLXzutzLfCVmrUdOD3J2gH2KUkawNgA654NvDRnfhr4YA99zgb2zt9Ykk3M/msA4P8meXqA2payM4CfjrqIReTxHd88vuPXhb10GiT006Ft/p1evfSZbazaDGwGSDLVy00Gx6PlfGzg8R3vPL7jV5Ke7mgdZHhnGjh3zvw5wJ4++kiS3iGDhP5jwAVJ3pPkJOA64OF5fR4GfqO5iueXgFer6qihHUnSO6Pv4Z2qOpzkZuBbwAnAPVX1TJLJZvldwBZgA7AL+BnwWz1ufnO/dR0HlvOxgcd3vPP4jl89HduSfOCaJGlxeEeuJLWIoS9JLbKkQn+hxzocz5Lck2T/cr3/IMm5Sb6dZGeSZ5LcMuqahinJiiQ/SPJkc3z/YdQ1DVuSE5L87yT/c9S1DFuSF5M8leSJXi9tPJ4kOT3JnyV5tvl/8ENd+y6VMf3msQ4/Bq5i9lLPx4CNVfWjkRY2JEk+DBxk9g7li0ddz7A1d1qvrarHk6wCdgCfXEb//QKcWlUHk5wIbANuae40XxaS/BtgAlhdVdeMup5hSvIiMFFVy/LGrCT3Ad+tqi83V1OurKq/79R3KZ3p9/JYh+NWVW0FXhl1HYulqvZW1ePN9OvATmbvvl4WmkeJHGxmT2w+S+OMaQiSnAP8c+DLo65Fb0+S1cCHgbsBqurNboEPSyv0uz2yQceZJOcDHwC+P+JShqoZ/ngC2A88WlXL6fj+M/DvgH8YcR2LpYBHkuxoHvmynPxj4ADw35rhuS8nObVb56UU+j0/skFLV5LTgK8Bn62q10ZdzzBV1ZGquoTZO8vXJVkWw3RJrgH2V9WOUdeyiC6vqkuZffLvp5vh1uViDLgU+FJVfQB4A+j6m+hSCn0f2XCca8a6vwbcX1VfH3U9i6X5p/NfA+tHW8nQXA58ohn3fhD4aJL/PtqShquq9jTf+4GHmB1OXi6mgek5//L8M2b/CHS0lEK/l8c6aIlqfui8G9hZVV8YdT3DlmQ8yenN9CnALwPPjrSoIamq36uqc6rqfGb/v/tfVfXrIy5raJKc2lxcQDPs8XFg2VxFV1UvAy8leespmx8Dul5AMchTNoeq22MdRlzW0CR5ALgSOCPJNPCHVXX3aKsaqsuBTwFPNePeAL9fVVtGV9JQrQXua64y+zngq1W17C5tXKbOBB6aPS9hDPiTqvrmaEsaun8N3N+cMO/mGI+8WTKXbEqSFt9SGt6RJC0yQ1+SWsTQl6QWMfQlqUUMfUlqEUNfklrE0JekFvl/v6quNiIjILQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot([1,2,3,4],[1,4,9,16],\"g*\")\n",
    "plt.axis([0,6,0,20])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 传入``Numpy``数组 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "之前我们传给``plot``的参数都是列表，事实上，向``plot``中传入``numpy``数组是更常用的做法。事实上，如果传入的是列表，``matplotlib``会在内部将它转化成数组再进行处理："
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在一个图里面画多条线"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "t = np.arange(0.,5.,0.2) #左闭右开从0到5间隔0.2\n",
    "plt.plot(t,t,\"r--\",\n",
    "        t,t**2,\"bs\",\n",
    "        t,t**3,\"g^\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 传入多组数据 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "事实上，在上面的例子中，我们不仅仅向``plot``函数传入了数组，还传入了多组``(x,y,format_str)``参数，它们在同一张图上显示。\n",
    "\n",
    "这意味着我们不需要使用多个``plot``函数来画多组数组，只需要可以将这些组合放到一个``plot``函数中去即可。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 线条属性 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "之前提到，我们可以用字符串来控制线条的属性，事实上还可以用关键词来改变线条的性质，例如``linewidth``可以改变线条的宽度，``color``可以改变线条的颜色："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "x = np.linspace(-np.pi,np.pi)\n",
    "y = np.sin(x)\n",
    "plt.plot(x,y,linewidth = 4.0,color = 'r') #细节调整的两个方式\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 使用plt.plot()的返回值来设置线条属性"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "``plot``函数返回一个``Line2D``对象组成的列表，每个对象代表输入的一对组合，例如：\n",
    "\n",
    "* line1,line2 为两个 Line2D 对象\n",
    "```python\n",
    "line1, line2 = plt.plot(x1, y1, x2, y2)\n",
    "```\n",
    "* 返回3个 Line2D 对象组成的列表\n",
    "```python\n",
    "lines = plt.plot(x1, y1, x2, y2, x3, y3)\n",
    "```\n",
    "\n",
    "我们可以使用这个返回值来对线条属性进行设置："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "line1,line2 = plt.plot(x,y,\"r-\",x,y+1,\"g-\")\n",
    "line1.set_antialiased(False)  #抗锯齿\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "line = plt.plot(x,y,\"r-\",x,y+1,\"g-\")\n",
    "line[1].set_antialiased(False) #列表\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### plt.setp() 修改线条性质"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "更方便的做法是使用``plt``的``setp``函数："
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[None, None]"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "line = plt.plot(x,y)\n",
    "#plt.setp(line, color = 'g',linewidth = 4)\n",
    "plt.setp(line,\"color\",'r',\"linewidth\",4) #matlab风格"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 子图 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "``figure()``函数会产生一个指定编号为``num``的图：\n",
    "```python\n",
    "plt.figure(num)\n",
    "```\n",
    "这里，``figure(1)``其实是可以省略的，因为默认情况下``plt``会自动产生一幅图像。\n",
    "\n",
    "使用``subplot``可以在一幅图中生成多个子图，其参数为：\n",
    "```python\n",
    "plt.subplot(numrows, numcols, fignum)\n",
    "```\n",
    "当``numrows * numncols < 10``时，中间的逗号可以省略，因此``plt.subplot(211)``就相当于``plt.subplot(2,1,1)``。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x432 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "def f(t):\n",
    "    return np.exp(-t)*np.cos(2*np.pi*t)\n",
    "\n",
    "t1 = np.arange(0.0,5.0,0.1)\n",
    "t2 = np.arange(0.0,4.0,0.02)\n",
    "\n",
    "plt.figure(figsize = (10,6))\n",
    "plt.subplot(211)\n",
    "plt.plot(t1,f(t1),\"bo\",t2,f(t2),'k') #子图1上有两条线\n",
    "\n",
    "plt.subplot(212)\n",
    "plt.plot(t2,np.cos(2*np.pi*t2),\"r--\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2 电影数据绘图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**在了解绘图的基础知识之后，我们可以对电影数据进行可视化分析。**"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "warnings.filterwarnings(\"ignore\") #关闭一些可能出现但对数据分析并无影响的警告"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.rcParams[\"font.sans-serif\"] = [\"SimHei\"] #解决中文字符乱码的问题\n",
    "plt.rcParams[\"axes.unicode_minus\"] = False #正常显示负号"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_excel(r\"C:\\Users\\Lovetianyi\\Desktop\\python\\作业5\\movie_data3.xlsx\", index_col = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "df[:5]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (1) 绘制每个国家或地区的电影数量的柱状图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "\n",
    "柱状图(bar chart)，是一种以长方形的长度为变量的表达图形的统计报告图，由一系列高度不等的纵向条纹表示数据分布的情况，用来比较两个或以上的价值（不同时间或者不同条件），只有一个变量，通常利用较小的数据集分析。柱状图亦可横向排列，或用多维方式表达。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = df[\"产地\"].value_counts()\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = data.index\n",
    "y = data.values\n",
    "\n",
    "plt.figure(figsize = (10,6)) #设置图片大小\n",
    "plt.bar(x,y,color = \"g\") #绘制柱状图，表格给的数据是怎样就怎样，不会自动排序\n",
    "\n",
    "plt.title(\"各国家或地区电影数量\", fontsize = 20) #设置标题\n",
    "plt.xlabel(\"国家或地区\",fontsize = 18) \n",
    "plt.ylabel(\"电影数量\") #对横纵轴进行说明\n",
    "plt.tick_params(labelsize = 14) #设置标签字体大小\n",
    "plt.xticks(rotation = 90) #标签转90度\n",
    "\n",
    "for a,b in zip(x,y): #数字直接显示在柱子上（添加文本）\n",
    "    #a:x的位置，b:y的位置，加上10是为了展示位置高一点点不重合，\n",
    "    #第二个b:显示的文本的内容,ha,va:格式设定,center居中,top&bottom在上或者在下,fontsize:字体指定\n",
    "    plt.text(a,b+10,b,ha = \"center\",va = \"bottom\",fontsize = 10) \n",
    "\n",
    "#plt.grid() #画网格线，有失美观因而注释点\n",
    "\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (2) 绘制每年上映的电影数量的曲线图"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "曲线图又称折线图，是利用曲线的升，降变化来表示被研究现象发展趋势的一种图形。它在分析研究社会经济现象的发展变化、依存关系等方面具有重要作用。\n",
    "\n",
    "绘制曲线图时，如果是某一现象的时间指标，应将时间绘在坐标的横轴上，指标绘在坐标的纵轴上。如果是两个现象依存关系的显示，可以将表示原因的指标绘在横轴上，表示结果的指标绘在纵轴上，同时还应注意整个图形的长宽比例。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1888-2015年 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = df[\"年代\"].value_counts()\n",
    "data = data.sort_index()[:-2] #排除掉2016年以后的数据，共两条\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = data.index\n",
    "y = data.values\n",
    "\n",
    "plt.plot(x,y,color = 'b')\n",
    "plt.title(\"每年电影数量\",fontsize = 20)\n",
    "plt.ylabel(\"电影数量\",fontsize = 18)\n",
    "plt.xlabel(\"年份\",fontsize = 18)\n",
    "\n",
    "for (a,b) in zip(x[::10],y[::10]): #每隔10年进行数量标记，防止过于密集\n",
    "    plt.text(a,b+10,b,ha = \"center\", va = \"bottom\", fontsize = 10)\n",
    "    \n",
    "#标记特殊点如极值点，xy设置箭头尖的坐标，xytext注释内容起始位置，arrowprops对箭头设置，传字典，facecolor填充颜色，edgecolor边框颜色\n",
    "plt.annotate(\"2012年达到最大值\", xy = (2012,data[2012]), xytext = (2025,2100), arrowprops = dict(facecolor = \"black\",edgecolor = \"red\"))\n",
    "\n",
    "#纯文本注释内容，例如注释增长最快的地方\n",
    "plt.text(1980,1000,\"电影数量开始快速增长\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对于这幅图形，我们使用``xlabel, ylabel, title, text``方法设置了文字，其中：\n",
    "\n",
    "* ``xlabel``: x轴标注\n",
    "* ``ylabel``: y轴标注\n",
    "* ``title``: 图形标题\n",
    "* ``text``: 在指定位置放入文字\n",
    "\n",
    "输入特殊符号支持使用``Tex``语法，用``$<some Text code>$``隔开。\n",
    "\n",
    "除了使用``text``在指定位置标上文字之外，还可以使用``annotate``进行注释，``annotate``主要有两个参数：\n",
    "\n",
    "* ``xy``: 注释位置\n",
    "* ``xytext``: 注释文字位置"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 从上图可以看出，电影数量是逐年增加的，增长的趋势在2000年都变得飞快 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (3) 根据电影的长度绘制饼图 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "饼图英文学名为Sector Graph，又名Pie Graph。常用于统计学模块。2D饼图为圆形，手画时，常用圆规作图。\n",
    "\n",
    "仅排列在工作表的一列或一行中的数据可以绘制到饼图中。饼图显示一个数据系列（数据系列：在图表中绘制的相关数据点，这些数据源自数据表的行或列。图表中的每个数据系列具有唯一的颜色或团并且在图表中的图例中表示。可以在图表中绘制一个或多个数据系列。饼图只有一个数据系列。）中各项的大小与各项总和的比例。饼图中的数据点（数据点：在图表中绘制的单个值，这些值由条形，柱形，折线，饼图或圆环图的扇面、圆点和其他被称为数据标记的图形表示。相同颜色的数据标记组成一个数据系列。）显示为整个饼图的百分比。\n",
    "\n",
    "**函数原型：**\n",
    "\n",
    "```python\n",
    "pie(x, explode = None, labels = None, colors = None, autopct = None, pctdistance = 0.6,\n",
    "    shadow = False, labeldistance = 1.1, startangle = None, radius = None)\n",
    "```\n",
    "\n",
    "**参数：**  \n",
    "**x：** (每一块）的比例，如果sum(x)>1会使用sum(x)归一化  \n",
    "**labels：** （每一块）饼图外侧显示的说明文字  \n",
    "**explode：** （每一块）离开中心距离  \n",
    "**startangle：** 起始绘制角度，默认图是从x轴正方向逆时针画起，如设定=90则从y轴正方向画起   \n",
    "**shadow：** 是否阴影  \n",
    "**labeldistance：** label绘制位置，相对于半径的比例，如<1则绘制在饼图内侧  \n",
    "**autopct：** 控制饼图内百分比设置，可以使用format字符串或者format function  \n",
    "**'%1.1f'：** 指小数点前后位数（没有用空格补齐）  \n",
    "**pctdistance：** 类似于labeldistance，指定autopct的位置刻度  \n",
    "**radius：** 控制饼图半径\n",
    "\n",
    "**返回值：**  \n",
    "如果没有设置autopct，返回(patches,texts)  \n",
    "如果设置autopct，返回(patches,texts,autotexts)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "data = pd.cut(df[\"时长\"], [0,60,90,110,1000]).value_counts() #数据离散化\n",
    "data"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "y = data.values\n",
    "y = y/sum(y) #归一化，不进行的话系统会自动进行\n",
    "\n",
    "plt.figure(figsize = (7,7))\n",
    "plt.title(\"电影时长占比\",fontsize = 15)\n",
    "patches,l_text,p_text = plt.pie(y, labels = data.index, autopct = \"%.1f %%\", colors = \"bygr\", startangle = 90)\n",
    "\n",
    "for i in p_text: #通过返回值设置饼图内部字体\n",
    "    i.set_size(15)\n",
    "    i.set_color('w')\n",
    "\n",
    "for i in l_text: #通过返回值设置饼图外部字体\n",
    "    i.set_size(15)\n",
    "    i.set_color('r')\n",
    "    \n",
    "plt.legend() #图例\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### (4) 根据电影的评分绘制频率直方图 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "直方图(Histogram)又称质量分布图。是一种统计报告图。由一系列高度不等的纵向条纹或线段表示数据分布的情况。一般用横轴表示数据类型，纵轴表示分布情况。\n",
    "\n",
    "直方图是数值数据分布的精确图形表示。这是一个连续变量（定量变量）的概率分布的估计，并且被卡尔·皮尔逊(Karl Pearson)首先引入。它是一种条形图。为了构建直方图，第一步是将值的范围分段，即将整个值的范围分成一系列间隔，然后计算每个间隔中有多少值。这些值通常被指定为连续的，不重叠的变量间隔。间隔必须相邻，并且通常是（但不是必须的）相等的大小。\n",
    "\n",
    "直方图也可以被归一化以显示“相对频率”。然后，它显示了属于几个类别中每个案例的比例，其高度等于1。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "plt.figure(figsize = (10,6))\n",
    "plt.hist(df[\"评分\"], bins = 20, edgecolor = 'k',alpha = 0.5)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "hist的参数非常多，但常用的就这六个，只有第一个是必须的，后面可选\n",
    "\n",
    "arr: 需要计算直方图的一维数组\n",
    "\n",
    "bins: 直方图的柱数，可选项，默认为10\n",
    "\n",
    "normed: 是否将得到的直方图向量归一化。默认为0\n",
    "\n",
    "facecolor: 直方图颜色\n",
    "\n",
    "edgecolor: 直方图边框颜色\n",
    "\n",
    "alpha: 透明度\n",
    "\n",
    "histtype: 直方图类型，\"bar\", \"barstacked\", \"step\", \"stepfilled\"\n",
    "\n",
    "返回值：\n",
    "\n",
    "n: 直方图向量，是否归一化由参数normed设定\n",
    "\n",
    "bins: 返回各个bin的区间范围\n",
    "\n",
    "patches: 返回每一个bin里面包含的数据，是一个list"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 从上图我们可以发现，电影的评分是服从一个右偏的正态分布的。 "
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}